# 代码结果：    
    # ConcreteCommand: Executing command.
    # Receiver: Performing action.

from abc import ABC, abstractmethod

# 命令接口
class Command(ABC):
    @abstractmethod
    def execute(self) -> None:
        pass

# 接收者类
class Receiver:
    def action(self) -> None:
        print("Receiver: Performing action.")

# 具体命令类
class ConcreteCommand(Command):
    def __init__(self, receiver: Receiver):
        self.receiver = receiver

    def execute(self) -> None:
        print("ConcreteCommand: Executing command.")
        self.receiver.action()

# 调用者类
class Invoker:
    def __init__(self, command: Command):
        self.command = command

    def call(self) -> None:
        self.command.execute()

# 客户端类
class Client:
    def __init__(self):
        self.receiver = Receiver()
        self.command = ConcreteCommand(self.receiver)
        self.invoker = Invoker(self.command)

    def run(self) -> None:
        self.invoker.call()

# 客户端使用示例
if __name__ == "__main__":
    client = Client()
    client.run()